package com.battery.service.impl;


import com.battery.dao.Vip_TypeDao;
import com.battery.pojo.Vip_Type;
import com.battery.service.Vip_TypeService;
import com.battery.util.result.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


@Service
@Transactional
public class Vip_TypeServicelmpl implements Vip_TypeService{

    @Autowired
    private Vip_TypeDao vip_typeDao;

    @Override
    public Result addVip_Type(Vip_Type vip_type){
        try {
            if(vip_typeDao.selectVip_TypeByID(vip_type.getVip_type_id())==null)
                vip_typeDao.insertVip_Type(vip_type);
            else return Result.error().message("No such a vip_type");
        } catch (DuplicateKeyException e){
            return Result.error().message("重复主键"+e.toString());

        } catch (Exception e){
            return Result.error().message("未知错误："+e.toString());
        }
        return Result.ok().message("插入成功");
    }

    @Override
    public Result removeVip_Type(int vip_type_id){
        try {
            if(vip_typeDao.selectVip_TypeByID(vip_type_id)!=null)
                vip_typeDao.deleteVip_Type(vip_type_id);
            else return Result.error().message("No such a vip_type_id");
        } catch (Exception e){
            return Result.error().message("未知错误："+e.toString());
        }
        return Result.ok().message("删除成功");
    }

    @Override
    public Result changeVip_Type(Vip_Type vip_type){
        try {
            if(vip_typeDao.selectVip_TypeByID(vip_type.getVip_type_id())!=null)
                vip_typeDao.updateVip_Type(vip_type);
            else return Result.error().message("No such a vip_type_id");
        } catch (Exception e){
            return Result.error().message("未知错误："+e.toString());
        }
        return Result.ok().message("修改成功");
    }

    @Override
    public Result searchVip_Type(int vip_type_id){
        try {
            if(vip_typeDao.selectVip_TypeByID(vip_type_id)!=null)
                vip_typeDao.selectVip_TypeByID(vip_type_id);
            else return Result.error().message("No such a vip_type_id");
        } catch (Exception e){
            return Result.error().message("未知错误："+e.toString());
        }
        return Result.ok().data("vip_type_id",vip_typeDao.selectVip_TypeByID(vip_type_id).getVip_type_id()).data("vip_t" +
                "ype_name",vip_typeDao.selectVip_TypeByID(vip_type_id).getVip_type_name()).data("vip_type_free_time",
                vip_typeDao.selectVip_TypeByID(vip_type_id).getVip_type_free_time()).data("vip_type_price",
                vip_typeDao.selectVip_TypeByID(vip_type_id).getVip_type_price());
    }

    @Override
    public Result findAllVip_Type(){
        try{
            List<Vip_Type> vip_type= vip_typeDao.getAllVip_Type();
            if (vip_type == null){
                return Result.error().message("查找无结果");
            }
            else {
                return Result.ok().data("data",vip_type);
            }
        }catch (Exception e) {
            return Result.error().message("查找失败：" + e.toString());
        }
    }





}
